Tag for wirelessly organizing a physical object

ABSTRACT

A tag includes: a housing configured for coupling the tag to a physical object to organize activities regarding the physical object; and coupled to the housing: a wireless communication component; circuitry electrically coupled to the wireless communication component, the circuitry having a reset port and a switch port; a power source electrically coupled to the wireless communication component and the circuitry; a first switch between the power source and the reset port; a second switch between the reset port and ground, the second switch controlled by the switch port; and a capacitor between the reset port and the ground.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application relates to the following patent applicationsfiled concurrently herewith (“the related patent applications”):

U.S. patent application Ser. No. ______, filed Nov. 7, 2018, associatedwith Attorney Docket number 0184-002001, and entitled “Organizingphysical objects using wireless tags.”

U.S. patent application Ser. No. ______, filed Nov. 7, 2018, associatedwith Attorney Docket number 0184-003001, and entitled “Organizing groupsof physical objects using wireless tags.”

U.S. patent application Ser. No. ______, filed Nov. 7, 2018, associatedwith Attorney Docket number 0184-004001, and entitled “Providingindication to location of physical object using wireless tag.”

Each one of the related patent applications is incorporated herein byreference in its entirety.

TECHNICAL FIELD

This document relates, generally, to organizing physical objects usingwireless tags.

BACKGROUND

The universe of internet-of-things (IoT) devices continues to expand,which can lead to transformation of homes, offices, retail stores,warehouses and public spaces. Smartphones, smart thermostats and smartlight bulbs have been introduced. Although connected to a network,single-purpose, siloed IoT devices may suffer from the shortcoming thatthey are in a sense not truly aware of each other, and the system cannottake into account the bigger picture. For example, there may be noshared context.

SUMMARY

In a first aspect, a tag includes: a housing configured for coupling thetag to a physical object to organize activities regarding the physicalobject; and coupled to the housing: a wireless communication component;circuitry electrically coupled to the wireless communication component,the circuitry having a reset port and a switch port; a power sourceelectrically coupled to the wireless communication component and thecircuitry; a first switch between the power source and the reset port; asecond switch between the reset port and ground, the second switchcontrolled by the switch port; and a capacitor between the reset portand the ground.

Implementations can include any or all of the following features. Thetag further comprises a button on an outside of the housing, the buttoncoupled to the first switch. The tag further comprises a sensor coupledto the circuitry, the circuitry configured to adapt a behavior of thetag based on an output of the sensor. The output of the sensor indicatesat least one of: moisture, humidity, temperature, pressure, altitude,acoustics, wind speed, strain, shear, magnetic field strength and/ororientation, electric field strength and/or orientation, electromagneticradiation, particle radiation, compass point direction, or acceleration.The circuitry is configured to repeatedly generate a discharge signal atthe switch port to discharge the capacitor and prevent voltage at thereset port from resetting the circuitry, until the circuitry receives adischarge inhibition signal using the wireless communication component.The power source includes a rechargeable power source. The tag furthercomprises at least a charge pin electrically coupled to the rechargeablepower source and terminating at an outside of the housing, and a datainterface including first and second data pins electrically coupled tothe circuitry and terminating at the outside of the housing. The firstdata pin is configured for carrying to the circuitry a voltage appliedto the charge pin, and wherein the second data pin is configured forcommunicating a charging status to the circuitry.

In a second aspect, a tag includes: a housing configured for couplingthe tag to a physical object to organize activities regarding thephysical object; and coupled to the housing: a wireless communicationcomponent; circuitry electrically coupled to the wireless communicationcomponent; a rechargeable power source electrically coupled to thewireless communication component and the circuitry; at least a firstcharge pin electrically coupled to the rechargeable power source andterminating at an outside of the housing; and a data interface includingfirst and second data pins electrically coupled to the circuitry andterminating at the outside of the housing.

Implementations can include any or all of the following features. Thetag further comprises a second charge pin terminating at the outside ofthe housing. The first data pin is configured for carrying to thecircuitry a voltage applied to the charge pin. The second data pin isconfigured for communicating a charging status to the circuitry. Thecircuitry includes a reset port and a switch port, the tag furthercomprising a first switch between the power source and the reset port, asecond switch between the reset port and ground, the second switchcontrolled by the switch port, and a capacitor between the reset portand the ground.

In a third aspect, a system includes: a tag configured for being coupledto a physical object to organize activities regarding the physicalobject, the tag comprising: a first housing; and coupled to the firsthousing, a wireless communication component, a first memory, and a firstprocessor coupled to the wireless communication component and configuredfor adapting a behavior of the tag; and an accessory comprising a secondhousing configured for being coupled to the first housing of the tag,the accessory comprising a second memory and a second processorconfigured for interacting with the first processor of the tag.

Implementations can include any or all of the following features. Thetag further includes a power source, a reset port and a switch portcoupled to the first processor, a first switch between the power sourceand the reset port, a second switch between the reset port and ground,the second switch controlled by the switch port, and a capacitor betweenthe reset port and the ground. The accessory further includes a sensorcoupled to the second processor, the second processor configured toadapt a behavior of the tag based on an output of the sensor. The outputof the sensor indicates at least one of: moisture, humidity,temperature, pressure, altitude, acoustics, wind speed, strain, shear,magnetic field strength and/or orientation, electric field strengthand/or orientation, electromagnetic radiation, particle radiation,compass point direction, or acceleration. The tag further comprises arechargeable power source, a charge pin electrically coupled to therechargeable power source and terminating at an outside of the firsthousing, and a data interface including first and second data pinselectrically coupled to the circuitry and terminating at the outside ofthe first housing. The accessory further comprises a first power source.The first power source includes a solar panel mounted to the secondhousing.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1A shows an example top view of a face of a tag configured fororganizing activities regarding a physical object.

FIG. 1B shows an example top view of another face of the tag of FIG. 1A.

FIG. 2 shows a block diagram of an example of a tag.

FIG. 3 shows an example of a charger that can be used with a tag.

FIG. 4 shows an example of a charger and a tag.

FIG. 5 shows examples of components of a tag.

FIG. 6 shows an example of circuitry that can provide hold-to-resetfunctionality.

FIG. 7 shows an example graph of reset port voltage over time.

FIG. 8 shows an example graph of switch port voltage over time.

FIG. 9 shows an example of a tag and a holder.

FIG. 10 shows another example of a tag.

FIG. 11 shows an example of a system that includes a tag and a physicalobject.

FIG. 12 shows an example operating environment in which a system cantrack physical items.

FIG. 13 shows an example of an organization module and a rulesrepository.

FIG. 14 shows an example of a computer device that can be used toimplement the techniques described here.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

This document describes examples of systems and techniques that allowfor intelligently organizing physical objects using wireless tags. Insome implementations, a tag has an improved reset function that canreduce the likelihood of accidental resetting. For example, ahold-to-reset function can be paired with a signal from a processingdevice to ensure that the reset is carried out. In some implementations,a tag with a rechargeable power source can feature at least one chargingcontact, and also a data interface of two or more contacts that canfacilitate communication of charging state information and/or commandsregarding the charging to or from the tag.

As used herein, a tag is a wireless device with processing capabilityand configured to be attached to, embedded in, or otherwise coupled to aphysical object to facilitate organizing or tracking of at least thepresence, proximity, and movement of that physical object. The tag caninclude a wireless communication component that serves to transmit datapackets over wireless (e.g., radio) signals from time to time (e.g., asa beacon), or to receive data packets over the signal(s) from anothertag and/or from a processing device.

A platform may include multiple tags configured for being attached to,embedded within, or otherwise coupled to respective physical objects.Some tags can be configured to a logical structure such as a grouping ora structural hierarchy wherein one or more tags serve as a “parent tag”to one or more other tags which can be referred to as “child tags”. Asused herein, a tag is considered a parent tag if it controls theorganizing of at least one other tag. As used herein, a tag is a childtag if the organizing of the tag is controlled by at least one othertag. The child tag can have the same or a different (e.g., less complex)configuration of hardware and/or software (e.g., operating system,applications, firmware, etc.) than the parent tag. A processing devicecan serve to connect with multiple tags (e.g., parent tags), react toinformation received from them, and issue queries, requests, or othercommands to the tags. For example, the processing device may at least inpart be implemented in the form of a smartphone and/or tablet executinga particular application or operating system. As another example, theprocessing device may at least in part be implemented in the form of adedicated stand-alone device (sometimes referred to as a “hub” in thesystem). As another example, the processing device may at least in partbe implemented in the form of one or more remote processing devices(e.g., a cloud solution). In some implementations, an intelligenceengine can be implemented on one or more processing devices in thecloud. For example, the intelligence engine may contextualize one ormore activities with external factors such as time of day, nature ofinteraction, location of interaction, weather and external conditions,and/or permissions and relationships between entities (e.g., tags,physical objects, and/or persons) to create experiences that leveragethe collective understanding of the system.

FIG. 1A shows an example top view of a face 100 of a tag 102 configuredfor organizing activities regarding a physical object. The tag 102 canbe used with one or more other examples described elsewhere herein. Insome implementations, the tag 102 can include one or more of thecomponents of the tag 200 (FIG. 2) to be described below.

The face 100 is here formed on a housing 104A of the tag 102. Thehousing 104A can include one or more suitable materials that allow thetag 102 to be coupled to a physical object for the purpose of organizingactivities with regard to that physical object. In some implementations,the housing 104A includes metal and/or a polymer material, such as aplastic material that can be injection molded into a suitable shape.

The tag 102 can have any shape, and the face 100 is here shown with agenerally circular shape in the present top view. In someimplementations, the tag 102 can have another shape, including, but notlimited to, a polygonal, rectangular, square, triangular, hexagonal,octagonal, or an irregular shape.

FIG. 1B shows an example top view of another face 106 of the tag 102 ofFIG. 1A. The other face 106 is part of a housing 104B and can bepositioned opposite the face 100 (FIG. 1A) on the tag 102. The housing104B can be made of the same material(s) as the housing 104A. In someimplementations, the housings 104A-B can be complementary componentsthat are separately manufactured (e.g., by injection molding) and thenassembled into the housing for the tag 102. For example, the housings104A-B can be clamshell components that when assembled together form anenclosure surrounding an (at least partially enclosed) inner space whereone or more components of the tag 102 can be contained.

The tag 102 can include one or more external electrically conductivepins. Here, pins 108A-D are positioned on an outside of the housing104B. For example, the pins 108A-D are here positioned at an edge of thetag 102. In some implementations, the pins 108A-D can be used for powersupply and/or data transmission to and/or from the circuitry of the tag102. For example, two of the pins 108A-D can be charging pins and theother two can form a data interface for the tag 102.

FIG. 2 shows a block diagram of an example of a tag 200. The tag 200 canbe implemented using one or more examples described with reference toFIG. 14. The tag 200 can be implemented substantially inside a housingthat facilitates attachment of the tag 200 to, or otherwise coupling thetag 200 with, a physical object. For example, the housing can includeone or more enclosures serving to contain at least some of thecomponents of the tag 200 as a cohesive unit. The tag 1202 and/or thetags 1204A-C can be implemented using the tag 200. Solely as an example,and without limitation, such housing can have a thickness that is on theorder of a few mm, and or a greatest width in any dimension that is onthe order of tens of mm. For example, the housing can be an essentiallycircular disc. An identifier (e.g., a QR code) can be affixed to thehousing to aid in identification and/or a setup process.

The tag 200 can be attached to, embedded within, or otherwise coupled tothe physical object in one or more ways. For example, the tag 200 can beprovided with an adhesive on the housing that couples to a surface onthe physical object. As another example, the tag 200 can be providedwith a holder that attaches to the tag 200, the holder having a loop(e.g., a keyring) for being coupled to the physical object.

The tag 200 can include at least one processor 202. The processor 202can be semiconductor-based and can include at least one circuit thatperforms operations at least in part based on executing instructions.The processor 202 can be a general purpose processor or a specialpurpose processor.

The tag 200 can include one or more software components 204. Thesoftware components 204 can include software (e.g., firmware). In someimplementations, the software components 204 includes an activitycomponent 205 that can control one or more aspects of operation by thetag 200. For example, the activity component 205 can include some or allfunctionality described with reference to the activity management module1216 (FIG. 12) or the contextual engine 1220. The software components204 can be formulated using one or more programming languages thatfacilitate generation of instructions comprehensible to the processor202.

The tag 200 can include at least one memory 206. The memory 206 canstore information within the tag 200. The memory 206 can be implementedin the form of one or more discrete units. The memory 206 can includevolatile memory, non-volatile memory, or combinations thereof.

The tag 200 can include a power supply 208. The power supply 208 canpower some or all of the components of the tag 200 or other componentsnot shown. In some implementations, the power supply 208 includes one ormore electrochemical cells (e.g., a lithium-ion cell) capable of storingenergy in chemical form and allowing consumption of that energy by wayof conversion into electrical current. In some implementations, thepower supply 208 includes a capacitor capable of storing energy in anelectric field. The power supply 208 can be rechargeable (e.g., byexternal power from a voltage/current source, or from a solar cell) ornon-rechargeable. For example, the power supply 208 can be recharged byelectrically connecting a power source to physical pins that contact thepower supply 208. As another example, the power supply 208 can berecharged wirelessly (e.g., by inductive charging). Kinetic energyharvesting and/or thermal energy harvesting may be used. In someimplementations, a near-field communication (NFC) coil can also be usedas a charging coil for inductive charging. For example, the power supply208 can be recharged wirelessly in near proximity (e.g., by inductivecoupled charging using internal dedicated coil or reusing an NFC coilfor charging). As another example, the power supply 208 can be rechargedwirelessly in far field (e.g., by electric field charging) or usingenergy harvesting techniques from multiple ambient sources, includingkinetic or bio-mechanical sources (e.g., a piezo electric generatorsensing vibration or thermo-electric generator (TEG) which harvestsenergy from temperature gradient). In some implementations, ambientbackscatter energy may be used to power the tag directly (e.g., in lieuof using an electrochemical cell to store energy).

The tag 200 can include one or more sensors 210. The sensor(s) 210 canbe configured to detect one or more characteristics of the environmentor other surrounding to which the tag 200 is subjected. The sensor(s)210 can detect one or more aspects including, but not limited to,moisture, humidity, temperature, pressure, altitude, acoustics, windspeed, strain, shear, magnetic field strength and/or orientation,electric field strength and/or orientation, electromagnetic radiation,particle radiation, compass point direction, or acceleration. Here, forexample, the sensor 210 includes an accelerometer 212. For example, theaccelerometer 212 may be used to detect if the tag 200 is in motion, andthe processor 202 of the tag 200 may decide to change the behavior ofthe tag 200 based on the motion detected. For example, the beaconingpattern of the wireless interface 224 may be increased when the tag 200is determined to be moving. Collection of data (e.g., one or moresignals) from the sensor(s) 210 can be considered harvesting ofinformation that can be the basis for deterministic behavior, predictivebehavior, and/or adaptive behavior in the system in which the tag 200 isimplemented.

The sensor(s) 210 can be used to adapt the behavior of the tag 200 inone or more ways. In some implementations, the tag 200 can change itsmode based on the output (or the absence of output) from at least one ofthe sensors 210. For example, the sensor 210 while in a resting mode candetect that the tag 200 is currently being exposed to water. One or morerules applicable to the tag 200 can define that the physical object towhich the tag 200 is coupled should not be exposed to water (ormoisture). In some implementations, application of the rule(s) based onthe present sensor output can trigger the tag 200 to change its statefrom the resting mode (which may have involved communicating relativelyseldom) into a panic mode. For example, the panic mode can involvesending a communication (e.g., more frequently than during the restingmode) to a processing component associated with the tag 200. As anotherexample, the panic mode can involve the tag 200 generating one or moreperceptible outputs, including, but not limited to, sounding an alarmand/or illuminating a light.

The tag 200 can apply one or more energy management techniques. In someimplementations, energy consumption can be managed by having the tagreact only to changes that are meaningful in the present context of thetag. In such scenarios, the same or a similar output from the sensor(s)210 can trigger different responses depending on circumstances. In someimplementations, the tag 200 can be considered a portable tag if it iscoupled to a physical object that is intended to be moved to differentlocations at least occasionally. A tag on a bag is only one example of aportable tag. In some implementations, the tag 200 can be considered afixed tag if it is coupled to a physical object that is not intended tobe moved to a different location during its lifetime, although thephysical object may be subject to some motion at its current location. Atag on a drawer in a kitchen cabinet is only one example of a fixed tag.For example, movement of the portable tag can trigger the portable tagto check its areas of responsibility (e.g., any child tags as describedwith reference to FIG. 12). As another example, while the fixed tag maybe moved from time to time (e.g., when the drawer is opened or closed),the fixed tag may wait until after the movement has ceased beforechecking on its areas of responsibility.

The tag 200 may include one or more user interfaces 214. The userinterface(s) 214 can facilitate one or more ways that a user can makeinput to the tag 200 and/or one or more ways that the tag 200 can makeoutput to a user. In some implementations, the user interface 214includes a tactile switch 216. For example, activating the tactileswitch can open and close an electric circuit on the tag 200, thusproviding input to the tag 200. In some implementations, the userinterface 214 includes at least one light-emitting diode (LED) 218. TheLED 218 can illuminate using one or more colors to signal a status ofthe tag 200 or of another tag, and/or to convey an instruction to theuser. A red-blue-green LED can be used for the LED 218. In someimplementations, the LED 218 can indicate power and/or pairing statusduring setup of the tag 200. In some implementations, the LED 218 canconfirm the presence or absence of one or more child tags. In someimplementations, the user interface 214 includes at least one speaker220. The speaker 220 can emit one or more portions of audio to signal astatus of the tag 200 or of another tag, and/or to convey an instructionto the user. For example, the speaker 220 can include an audio piezobuzzer.

The tag 200 may include at least one data interface 222. Here, the datainterface 222 is shown as including a wireless interface 224 and a wiredinterface 226. The data interface 222 can facilitate communicationbetween the tag 200 and at least one component in a system, such asduring operation or a software update. For example, the data interface222 can facilitate the wireless signal 1210 (FIG. 12) between the tag1202 and the processing device 1208. As another example, the datainterface 222 can facilitate one or more of the wireless signals 1206A-Cbetween the tag 1202 and the tags 1204A-C. In some implementations, thedata interface 222 can be configured for short-distance communications(e.g., in a personal-area or near-me network). In some implementations,the data interface 222 can be also or instead be configured forlonger-distance communications (e.g., in a local-area or wide-areanetwork). For example, and without limitation, the data interface 222can operate in accordance with the principles of one or more ofBluetooth communication, Bluetooth Low Energy (BLE) communication,Zigbee communication, Wi-Fi communication, Long-Term Evolution (LTE)communication, NFC, or Narrow-Band (NB).

The data interface 222 (e.g., the wired interface 226) can make use ofphysical pins on the tag 200. In some implementations, the physical pinsat least partially extend beyond the hull of a housing that contains thetag 200 so that the physical pins can be contacted by another component.In some implementations, the physical pins relating to the datainterface 222 can be grouped with physical pins relating to the powersupply 208 (e.g., to be used in recharging). For example, the physicalpins relating to the data interface 222 can be used to trigger the tag200 to be ready to receive electrical input on the physical pinsrelating to the power supply 208.

The tag 200 can include at least one bus or other communicationcomponent that facilitates communication between two or more of theprocessor 202, software components 204, memory 206, sensor(s) 210, userinterface 214, and/or data interface 222.

The tag 200 can be implemented as an intelligent device that can be usedfor personal tracking and organization. The tag 200 can be configured tocommunicate directly (or indirectly, such as via a network) with one ormore instances of the tag 200, such as with a child tag when the tag 200is considered a parent tag, or with a parent tag when the tag 200 isconsidered a child tag. The tag 200 can be configured fordirect/indirect communication with a processing device (e.g., theprocessing device 108 in FIG. 1, a third-party IoT device, and/or acloud server (e.g., the cloud 1212 in FIG. 12). The tag 200 can beconfigured to generate and record state information. For example, thetag 200 can record events that relate to the tag 200 and/or to anothertag. The tag 200 can represent a single object (e.g., the physicalobject to which the tag 200 is attached) or a group of objects (e.g.,the physical objects to which respective child tags are attached whenthe tag 200 is considered a parent tag). The tag 200 can be configuredto have one or more relationships with another instance of the tag 200,with a person (e.g., an owner or user), and/or with a location. Forexample, such relationships can be defined in the rules 1222 (FIG. 12).

The tag 200 can be used to track essentials (e.g., physical objects ofsignificance) and for personal organization. The tag 200 can help a userquickly locate the physical object to which the tag 200 is attached. Thetag 200 can serve as a parent tag for one or more child tags (e.g.,instances of the tag 200) within a group solution, which can allow fortracking of the presence, proximity, and movement of other physicalobjects. The tag 200 can serve as a location marker. For example, thiscan be exploited by a location service designed to provide indicationsto the location of wireless-enabled devices.

Examples herein mention that a tag can serve as a child tag to anothertag, which can be considered the parent tag. In some implementations,the child tag is implemented with all components of the tag 200,optionally with more components. In some implementations, the child tagcan have fewer than all of the components of the tag 200. For example,the power supply 208 in the child tag may be non-rechargeable. Asanother example, the child tag may not have one or more of the sensor(s)210 (e.g., the accelerometer 212 can be omitted). As another example,the LED 218 in the child tag can be a single-color LED (e.g., white). Asanother example, the child tag may not have the speaker 220. As anotherexample, the child tag may not have the wired interface 226. Forexample, no physical data pins may be present on the housing of thechild tag.

In operation, the child tag (e.g., including some or all of thecomponents of the tag 200) can be used to organize a range of physicalobjects, including all everyday essentials that a person may have. Theparent tag (e.g., including some or all of the components of the tag200) can monitor the child tag(s) to which it is connected. As such, theparent tag can indicate the presence of a physical object to which thechild tag is attached/coupled based on the child tag's proximity to theparent tag. For example, the parent tag can send a message indicatingwhether the child tag is within the range of the parent tag or notwithin the range of the parent tag.

Examples herein illustrate that a tag (e.g., the tag 200) can have anawareness of circumstances. Aspects of the awareness can be categorizedas being either internal or external. An internal awareness may pertainto the physical object itself. In some implementations, the internalawareness can be further separated into preset state values and dynamicstate values. Preset state values can include, but are not limited to,make, model, manufacturing date, unique identifier (UID), device info,object type, or manufacturer's suggested retail price (MSRP). Dynamicstate values can include, but are not limited to, battery level, powerconsumption, market value, directive, beaconing rate, communicationsfrequency, communications protocol, object relationship logic, owneridentity, permissions, internal clock, motion, or orientation.

An external awareness can relate to factors externally related to thephysical object. External factors can include, but are not limited to,relative location, geo location, time, sensor data, objects nearby,proximity, relative motion of objects nearby, or duration of any states.

FIG. 3 shows an example of a charger 300 that can be used with a tag.The charger 300 can be used with one or more other examples describedelsewhere herein. The charger 300 can include one or more transformersor other adapters configured to convert alternating current (AC) intodirect current (DC) of suitable characteristics to be supplied to a tag(e.g., the tag 102 in FIGS. 1A-B) to recharge a power source of the tag(e.g., a lithium-ion battery or other electrolytic cell).

The charger 300 here includes a housing 302 and a cable 304 that is onlypartly shown in the present illustration. The housing can be made fromone or more suitable materials, including, but not limited to, metal ora polymer material. The housing 302 can at least partially containcircuitry of the charger. For example, a connector (e.g., a universalserial bus plug) can be integrated with the cable 304 and provide DC tothe charger 300. As another example, an AC-DC converter can be includedwithin the housing 302 or within a unit (not shown) integrated with thecable 304 (e.g., an adapter configured for an AC outlet).

The charger 300 can include one or more external electrically conductivepins. Here, the charger 300 includes pins 306A-D. In someimplementations, the pins 306A-D are configured to be electricallycoupled with the pins 108 A-D (FIG. 1B), respectively, when the tag 102is placed against (e.g., on top of) the charger 300. For example, a face308 of the charger 300 that is visible in the present view can have adepression 310 corresponding to the shape of the tag so as to helpposition the tag correctly in relation to the pins 306A-D.

FIG. 4 shows an example of a charger 400 and a tag 402. The charger 400and/or the tag 402 can be used with one or more other examples describedelsewhere herein. The charger 400 can be implemented based on one ormore examples described with regard to the charger 300 in FIG. 3. Thetag 402 can be implemented based on one or more examples described withregard to the tag 200 in FIG. 2.

The charger 400 here includes an integrated circuit (IC) 404. Forexample, the IC 404 can be configured to perform battery charging by wayof a combination of one or more of: a conditioning phase, aconstant-current phase, or a constant-voltage phase.

The charger 400 here includes a voltage regulator 406. In someimplementations, the voltage regulator 406 is a low-dropout (LDO)regulator.

The charger 400 here includes pins 408A-B and 410A-B. For example, eachof the pins 408A-B and 410A-B can correspond to a respective one of thepins 306A-D in FIG. 3. Here, the pin 408A is coupled to the IC 404 toserve as a charging pin, and the pin 408B is coupled to ground. The pin410A is here coupled to the voltage regulator 406, such as to provideLED power for the tag 402. The pin 410B is here coupled to the IC 404,such as to convey a charging state of the IC 404 to the tag 402.

The tag 402 here includes circuitry 412. In some implementations, thecircuitry 412 can include at least the processor 202, memory 206, andthe wireless interface 224 in FIG. 2. For example, the circuitry 412 caninclude a system-on-a-chip (SoC) capable of wireless communication.

The tag 402 here includes a battery 414 that is rechargeable to supplypower to components of the tag 402. In some implementations, one or moreprotective features are incorporated in the battery 414. For example,the battery 414 may include one or more lithium-ion cells.

The tag 402 here includes a piezo pump 416. In some implementations, thepiezo pump 416 is configured to drive one or more piezo sounders. Forexample, the piezo pump 416 can drive the speaker 220 in FIG. 2.

The tag 402 here includes a red-green-blue (RGB) driver 418. In someimplementations, the RGB driver 418 can include circuitry to power oneor more LEDs of the tag 402. For example, the RGB driver 418 can drivethe LED 218 in FIG. 2.

The tag 402 here includes an accelerometer 420. In some implementations,the accelerometer 420 can operate similarly or identically to theaccelerometer 212 in FIG. 2.

The tag 402 here includes a voltage regulator 422. In someimplementations, the voltage regulator 422 in the tag 402 can beidentical or similar to the voltage regulator 406 in the charger 400.

The tag 402 here includes pins 424A-B and 426A-B. For example, each ofthe pins 424A-B and 426A-B can correspond to a respective one of thepins 108A-D in FIG. 1. Here, the pin 424A is coupled to the battery 414to facilitate charging. The pin 424B is here coupled to ground in thetag 402. The pins 424A-B may be considered the charging pins of the tag402 and may terminate at an outside of the housing of the tag 402.

The pin 426A is here coupled to data ports on the circuitry 412 and tothe piezo pump 416, the RGB driver 418, and the accelerometer 420. Thepin 426B is here coupled to data ports on the circuitry 412. The pins426A-B can serve as data pins of the tag 402. For example, the pins426A-B together may be considered a data interface of the tag 402 andmay terminate at an outside of the housing of the tag 402.

As indicated in the illustration, when the charger 400 and the tag 402are brought into contact for charging, the pins can electrically contacteach other as follows:

-   -   pin 410A—pin 426A    -   pin 410B—pin 426B    -   pin 408A—pin 424A    -   pin 408B—pin 424B

In some implementations, the charger 400 can use the pin 410A to informthe tag 402 that the tag 402 is connected to a charger, as opposed to anon-charging component, such as a data transfer component. For example,the voltage regulator 406 can carry the voltage (e.g., a constantvoltage) that the IC 404 is applying to the pins 424A-B (i.e., thecharging pins) to the pin 426A of the data interface of the tag 402 andthereby to the circuitry 412.

The charger 400 can use the pin 410B to communicate a charging status tothe circuitry 412 of the tag 402. In some implementations, a signal onthe pin 410B can convey whether the charger 400 is currently chargingthe tag 402, or whether the tag 402 is currently in a charged state. Forexample, the charger 400 can continue charging the battery 414 until astate-of-charge reaches a threshold value.

The tag 402 is an example of a tag that includes a housing (e.g., thehousing 104A-B in FIGS. 1A-B) configured for coupling the tag to aphysical object to organize activities regarding the physical object.Coupled to the housing, the tag includes a wireless communicationcomponent (e.g., the wireless interface 224 in FIG. 2), circuitry (e.g.,the circuitry 412) electrically coupled to the wireless communicationcomponent, a rechargeable power source (e.g., the battery 414)electrically coupled to the wireless communication component and thecircuitry, at least a first charge pin (e.g., the pin 424A) electricallycoupled to the rechargeable power source and terminating at an outsideof the housing, and a data interface (e.g., the pins 426A-B) includingfirst and second data pins electrically coupled to the circuitry andterminating at the outside of the housing.

FIG. 5 shows examples of components of a tag 500. The tag 500 can beused with one or more other examples described elsewhere herein. The tag500 can be implemented based on one or more examples described withregard to the tag 200 in FIG. 2. The tag 500 is here shown in apartially assembled (or disassembled) state for purposes of illustrationonly.

Here, the tag 500 includes an SoC 502. In some implementations, the SoCincludes circuitry and at least one wireless component to providewireless communication to or from the tag 500 to facilitate organizingof a physical component to which the tag 500 is coupled.

Here, the tag 500 includes a power source 504 that is schematicallyillustrated using a dashed outline for clarity. In some implementations,the power source 504 is rechargeable. For example, the power source 504can include at least one lithium-ion cell.

Here, the tag 500 includes an antenna 506. The antenna 506 is coupled tothe SoC 502 for receiving and/or transmitting wireless signals.

Here, the tag 500 includes a piezo buzzer 508 that the tag 500 uses forgenerating audible output. In some implementations, the piezo buzzer 508can be driven by a piezo pump amplifier 510. For example, the piezo pumpamplifier 510 can serve the same or similar purposes as the piezo pump416 in FIG. 4.

Here, the tag 500 includes an LED 512. In some implementations, the LED512 can serve the same or similar purposes as the LED 218 in FIG. 2.

Here, the tag 500 includes an accelerometer 514. In someimplementations, the accelerometer 514 can serve the same or similarpurposes as the accelerometer 212 in FIG. 2.

Here, the tag 500 includes a tactile switch 516. In someimplementations, the tactile switch can be actuated using a button thatis available from an outside of the tag 500. For example, the tactileswitch 516 can serve the same or similar purposes as the tactile switch216 in FIG. 2.

Each of the SoC 502, power source 504, antenna 506, piezo buzzer 508,piezo pump amplifier 510, LED 512, accelerometer 514, and tactile switch516 is coupled to at least one other component of the tag 500 tooperate. In some implementations, a circuit board 518 is included in thetag 500. For example, some or all of the SoC 502, power source 504,antenna 506, piezo buzzer 508, piezo pump amplifier 510, LED 512,accelerometer 514, and tactile switch 516 are connected to the circuitboard 518.

FIG. 6 shows an example of circuitry 600 that can provide hold-to-resetfunctionality. The circuitry 600 can be used with one or more otherexamples described elsewhere herein. The circuitry 600 can beimplemented in the tag 200 in FIG. 2 or in another tag described herein.

The circuitry 600 here includes an SoC 602. In some implementations, theSoC 602 includes the processor 202, memory 206, and wireless interface224 of FIG. 2. For example, the SoC 602 can serve the same or similarpurposes as that SoC 502 in FIG. 5.

The circuitry 600 here includes a power source 604 schematicallyindicated as “V+”. In some implementations, the power source 604provides power of a constant voltage to the SoC 602. For example, thepower source 604 can include a rechargeable battery.

The circuitry 600 here includes a resistor 606 coupled to the powersource 604. The resistor 606 can be a fixed or variable resistor.

The circuitry 600 here includes a switch 608 coupled to the resistor606. In some implementations, the switch 608 may serve the same orsimilar purposes as the tactile switch 216 in FIG. 2. For example, theswitch 608 can be controlled by a button that is accessible to a user onthe outside of the housing 104A (FIG. 1A) and/or 104B (FIG. 1B).

The SoC 602 here includes a reset port 610. In some implementations, thereset port is active high. For example, if a voltage on a conductor 612coupled to the reset port 610 reaches a predefined threshold, thiscauses the SoC 602 to reset. The switch 608 is here coupled to the resetport 610 by the conductor 612.

The circuitry 600 here includes a resistor 614 coupled to the terminalof the switch 608 that is coupled to the reset port 610 by the conductor612. Another terminal of the resistor 614 is coupled to ground.

The circuitry 600 here includes a capacitor 616 coupled to the terminalof the switch 608 that is coupled to the reset port 610 by the conductor612. Another terminal of the capacitor 616 is coupled to ground.

The circuitry 600 here includes a resistor 618 coupled to the terminalof the switch 608 that is coupled to the reset port 610 by the conductor612.

The circuitry 600 here includes a switch 620 that is coupled to theother terminal of the resistor 618. Another terminal of the switch 620is coupled to ground.

The SoC 602 here includes a switch port 622. The switch port 622controls the switch 620 to be open or closed. In some implementations,the switch port 622 sometimes generates a discharge signal 624 to theswitch 620 as here schematically illustrated as an arrow.

The SoC 602 can receive a discharge inhibition signal 626 as hereschematically illustrated as an arrow. In some implementations, thedischarge inhibition signal 626 can be wirelessly sent from a processingdevice to the tag having the circuitry 600. For example, a user cantrigger the processing device to generate the discharge inhibitionsignal 626.

An example of operation of the circuitry 600 will now be provided. FIG.7 shows an example graph 700 of reset port voltage (V_(RP)) 702 overtime 704. FIG. 8 shows an example graph 800 of switch port voltage(V_(SP)) 802 over time 804. The graph 700 and/or 800 can be used withone or more other examples described elsewhere herein. In someimplementations, the reset port voltage 702 may represent the voltage onthe reset port 610 in FIG. 6. For example, a threshold 706 can bedefined at which the reset port 610 will reset the SoC 02. In someimplementations, the switch port voltage 802 may represent the voltageof the switch port 622 in FIG. 6.

When a user closes the switch 608 in FIG. 6 at a time t₁, the powersource 604 becomes coupled to the reset port 610 by the conductor 612.At this time, the switch 620 is open. The power source 604 beginscharging the capacitor 616 and the reset port voltage 702 thereforebegins increasing at t₁. At around time t₂, a discharge signal 806A isgenerated at the switch port 622. This causes the switch 620 to close,thereby allowing the capacitor 616 to discharge through the resistor 618to ground. Around the time t₂, the reset port voltage 702 thereforebegins to drop and does not reach the threshold 706. Meanwhile, thepower source 604 continues charging the capacitor 616 and the reset portvoltage 702 therefore again begins increasing at around the time t₂.Similarly, a discharge signal 806B is generated at the switch port 622at a time t₃ to close the switch 620 and discharge the capacitor 616through the resistor 618 to ground. At around the time t₃, the resetport voltage 702 again begins increasing. In some implementations, theswitch port 622 continues to generate the discharge signals 806A, 806B,etc., unless inhibited from doing so. For example, the SoC 602 may beconfigured to repeatedly generate the discharge signals 806A, 806B,etc., at the switch port 622 to discharge the capacitor 616 and preventthe reset port voltage from resetting the SoC 602, until the SoC 602receives the discharge inhibition signal 626 using a wirelesscommunication component.

Around a time t₄, no discharge signal is generated, as indicated in thegraph 800. For example, no discharge signal is generated at the time t₄because the discharge inhibition signal 626 in FIG. 6 is received by theSoC 602. The reset port voltage 702 therefore continues to increase atthe time t4 because the capacitor 616 is not being discharged, andeventually reaches (e.g., exceeds) the threshold 706. When the threshold706 is reached, the reset port 610 in FIG. 6 can reset the SoC 602.Accordingly, the circuitry 600 illustrates a hold-to-reset functionalitywhere the user holds a button to close the switch 608, and wherein theresetting is thwarted by the discharge signal 624 unless the dischargeinhibition signal 626 inhibits such discharge signal 624.

A tag having the circuitry 600 is an example of a tag having a housing(e.g., the housing 104A-B in FIGS. 1A-B) configured for coupling the tagto a physical object to organize activities regarding the physicalobject. Coupled to the housing, the tag includes: a wirelesscommunication component (e.g., the wireless interface 224 in FIG. 2),circuitry (e.g., the circuitry 600) electrically coupled to the wirelesscommunication component, the circuitry having a reset port (e.g., thereset port 610) and a switch port (e.g., the switch port 622), a powersource (e.g., the power source 604) electrically coupled to the wirelesscommunication component and the circuitry, a first switch (e.g., theswitch 608) between the power source and the reset port, a second switch(e.g., the switch 620) between the reset port and ground, the secondswitch controlled by the switch port (e.g., by way of the dischargesignal 624), and a capacitor (e.g., the capacitor 616) between the resetport and the ground.

FIG. 9 shows an example of a tag 900 and a holder 902. The tag 900and/or holder 902 can be used with one or more other examples describedherein. In some implementations, the tag 900 can correspond to the tag102 in FIG. 1. The holder 902 includes a holder component 904 configuredto surround at least part of the periphery of the tag 900 (e.g., by thetag 900 being snapped into, and removably held by, an opening in theholder component 904. The holder 902 includes a tie 906. In someimplementations, the tie is configured to be removably attached to aphysical object so as to couple the tag 900 to that physical object. Forexample, this can allow the tag 900 to be coupled to a physical objectalso when it may not be possible or practicable to directly attach(e.g., by adhesive) the tag 900 to the surface of that physical object.

FIG. 10 shows another example of a tag 1000. The tag 1000 can be usedwith one or more other examples described herein. In someimplementations, the tag 1000 can correspond to the tag 102 in FIG. 1.The tag 1000 includes a housing 1002 that is in part circular and thathas an angular portion 1004. In some implementations, the tag 1000 canhave a smaller form factor than the tag 102 in FIGS. 1A-B.

FIG. 11 shows an example of a system 1100 that includes a tag 1102 and aphysical object 1104. The tag 1102 and/or the physical object 1104 canbe used with one or more other examples described herein. The tag 1102can be implemented in accordance with some or all aspects of the tag 200in FIG. 2. The physical object 1104 here schematically represents eachof at least two types of possible scenarios regarding the tag 1102. Inthe first type of possible scenario, in some implementations, thephysical object 1104 can be the physical object for which the tag 1102is used. As such, the tag 1102 can be used for wirelessly organizingactivities regarding the physical object 1104. The physical object 1104may then include all, or some, or none of the components that will beexemplified below. In some implementations, the tag 1102 may be used incombination with the physical object 1104 to act as the “brain” of thephysical object 1104. The physical object 1104 may be any type ofphysical object. Providing the tag 1102 may eliminate the need for amanufacturer of products such as the physical object 1104 to aggregatetechnology in its products (i.e., the physical object 1104) in whichtechnology the manufacturer is not necessarily an expert, such asfunctionality regarding organizing the presence, proximity, movement, orduration relating to physical objects. In some implementations, thephysical object 1104 is an oxygen tank. For example, the tag 1102 mayfunction to aggregate, or process in another way, information thatrelates to the oxygen tank, such as data about the contents of the tankand/or the use thereof. In some implementations, the physical object1104 is a bicycle. For example, the tag 1102 may function to aggregate,or process in another way, information that relates to the bicycle, suchas signals regarding one or more sensors (e.g., for speed, power, and/orcadence measurements) or one or more electronic components (e.g., anelectronic derailleur).

In the second type of possible scenario, in some implementations, thephysical object 1104 can be an accessory to the tag 1102. For example,the system 1100 can be used to as to enhance the tag 1102 with one ormore functionalities and/or characteristics. The system 1100 in suchsituations can be coupled to another physical object (not shown) so thatthe tag 1102 is used for wirelessly organizing activities regarding thatother physical object. In such a scenario, the physical object 1104and/or the tag 1102 can be coupled to the other physical object in anysuitable way. For example, the physical object 1104 can have an adhesive1106 on at least one surface that facilitates connection (permanent orremovable) to the other physical object. In some such implementations, athickness 1108 (e.g., a z-dimension) of the physical object 1104 can belesser than indicated in the present illustration. For example, thephysical object can be sufficiently thin to be characterized as a sleevefor the tag 1102.

The tag 1102 can have one or more pins 1110 on an outside of itshousing. In some implementations, the pin(s) 1110 can serve for chargingand/or data transmission. The pin(s) 1110 can correspond to one or moreof the pins 424A-B or 426A-B in FIG. 4. For example, the pins 1110 mayinclude charging pins and a data interface of one or more pins.

The physical object 1104 can include a receptacle 1112. In someimplementations, the receptacle is a structure formed on or in a housingof the physical object 1104. For example, the receptacle 1112 can serveto releasably hold the tag 1102 against the physical object 1104. Thephysical object 1104 can include one or more pins 1114 within oradjacent the receptacle 1112. For example, the pin(s) 1114 can beconfigured to electrically contact one or more of the pins 1110 when thetag 1102 is held against the physical object 1104.

The physical object 1104 can include circuitry 1116. For example, thecircuitry 1116 can include at least the processor 202 and memory 206 ofFIG. 2, or the processing device 1402 and memory 1404 in FIG. 14. Thecircuitry 1116 can be coupled to the pin(s) 1114.

The physical object 1104 can include a power source 1118. In someimplementations, the power source 1118 may include a rechargeablebattery. For example, the power source 1118 can include at least onelithium-ion cell. In some implementations, the physical object 1104 isprovided with a solar panel 1120 mounted to an outside of the housing ofthe physical object 1104. The solar panel 1120 can facilitate that power(originating from the sun or from artificial light) is be provided toone or more of: the power source 1118, the circuitry 1116 or anothercomponent of the physical object 1104, or to the tag 1102 (by way of thepin(s) 1114). This can allow the physical object 1104 to supplement aninternal battery in the tag 1102. For example, the power source 1118 canbe greater than a power source of the tag 1102 (e.g., the power supply208 in FIG. 2).

The physical object 1104 can include a wireless communication component1122. In some implementations where the tag 1102 may not have wirelesscapability, the wireless communication component 1122 can furnish thatcapability and facilitate use of the tag 1102 for organizing activitiesof one or more physical objects. For example, the tag 1102 can beconsidered the brains of the system 1100 that is coupled to the physicalobject 1104 to provide particular functionality that the physical object1104 may otherwise not perform.

The physical object 1104 can include one or more sensors 1124. In someimplementations, the output of the sensor(s) can control one or moreaspects of the operation of the physical object 1104 and/or of the tag1102. For example, a signal from the sensor(s) 1124 can be used foradjusting the behavior of the physical object 1104 and/or of the tag1102. The sensor(s) 1124 can detect one or more aspects including, butnot limited to, moisture, humidity, temperature, pressure, altitude,acoustics, wind speed, strain, shear, magnetic field strength and/ororientation, electric field strength and/or orientation, electromagneticradiation, particle radiation, compass point direction, or acceleration.

The following is an example of how a system such as the system 1100 canbe used. The physical object 1104 can be mounted to (e.g., be integratedwith or attached to) a piece of personal property such as a suitcase.The physical object 1104 may then not have all the components of thephysical object 1104 shown in FIG. 11. However, the physical object 1104may include sufficient circuitry to communicate to the tag 1102 (e.g.,by a data interface such as the pins 426A and/or 426B in FIG. 4) thatthe physical object 1104 is luggage (as opposed to another type ofphysical object). This information can allow the tag 1102 to change itsbehavior in one or more ways. For example, the tag 1102 can apply one ormore luggage-related rules that may not otherwise be applicable, and therule(s) may cause the tag 1102 to take action (or abstain from takingaction) depending on one or more circumstances, including, but notlimited to, based on output from the sensor(s) 1124 and/or a sensor ofthe tag 1102. In some implementations, the solar panel 1120 of thephysical object 1104 can replenish an internal battery of the tag 1102,for example during a period of extended travel.

The system 1100 is an example of a system that includes a tag (e.g., thetag 1102) configured for being coupled to a physical object (e.g., thephysical object 1104 or another physical object) to organize activitiesregarding the physical object. The tag includes a first housing (e.g.,the housing 104A-B in FIGS. 1A-B), and coupled to the first housing: awireless communication component (e.g., the wireless interface 224 inFIG. 2), a first memory (e.g., the memory 206 in FIG. 2), and a firstprocessor (e.g., the processor 202 in FIG. 2) coupled to the wirelesscommunication component and configured for adapting a behavior of thetag. The system includes an accessory (e.g., the physical object 1104)comprising a second housing configured for being coupled (e.g., by wayof the receptacle 1112) to the first housing of the tag. The accessoryincludes a second memory and a second processor (e.g., in the circuitry1116) configured for interacting with the first processor of the tag.

In some implementations, the tag 1102 of the system 1100 can includesome or all components of the tag 402 in FIG. 4. For example, the tag1102 may then have a rechargeable power source (e.g., the battery 414),a charge pin (e.g., the pin 424A in FIG. 4) electrically coupled to therechargeable power source and terminating at an outside of the housingof the tag 1102, and a data interface (e.g., the pins 426A-B in FIG. 4)including first and second data pins electrically coupled to thecircuitry of the tag 1102 and terminating at the outside of the housingof the tag 1102.

In some implementations, the tag 1102 of the system 1100 can includesome or all components of the circuitry 600 in FIG. 6. For example, thetag 1102 can then include: the power source 604, the reset port 610 andthe switch port 622 coupled to the processor of the tag 1102, the switch608 between the power source 604 and the reset port 610, the switch 620between the reset port 610 and ground, wherein the switch 620 iscontrolled by the switch port 622, and the capacitor 616 between thereset port 610 and the ground.

In some implementations, a technology platform can counteract thecomplexity often observed in IoT proliferation and can be used foroptimization and cross communication of these and/or other smartdevices. In some implementations, a foundational technologyplatform/stack can be designed to counteract the complexity of IoTproliferation and harness the power of shared information. For example,item-level data can be securely gathered and shared across all the smartthings in an environment (as a baseline system-level understanding) soas to create an intelligent, contextually aware environment. In such anintelligent environment, connected devices can serve as essentiallyintelligent systems, sharing a unified contextual understanding toinform decisions. In some implementations, such decisions could besingular, group-based, or collective in nature. In the context of such aplatform, a range of seamless, end-to-end solutions can be created thatsolve larger, more challenging customer problems and drive greaterbenefits and returns on IoT investments.

FIG. 12 schematically shows an example operating environment in which asystem 1200 can track physical items. The system 1200 can be used withone or more other examples described elsewhere herein. The system 1200can be implemented using one or more examples described herein withreference to FIG. 14.

The system 1200 includes at least one tag 1202 and/or at least one tag1204A-C. In some implementations, multiple instances (i.e., a plurality)of the tag 1202 can be used, and here only one instance of the tag 1202is shown for simplicity. The tags 1202 and 1204A-C can be configured tobe attached to, mounted on, or otherwise coupled to, respective physicalobjects which are not shown for simplicity. For example, the tag 1202may be attached to a sports bag and tags 1204A-C may be attached to abaseball glove, a baseball cap, and a bat, respectively. Communicationbetween the tag 1202 and one or more of the tags 1204A-C may occur byway of sending data packets over respective wireless signals 1206A-C. Insome implementations, the wireless signals 1206A-C include beaconsignals and the tag 1202 is configured for receiving and recognizing thewireless signals 1206A-C. For example, the tag 1202 can be considered aparent tag with regard to one or more of the tags 1204A-C. As anotherexample, one or more of the tags 1204A-C can be considered a child tagwith regard to the tag 1202. In some implementations, at least oneinstance of the tag 1202 can serve as a child tag to another instance ofthe tag 1202. In some implementations, at least one instance of the tag1204A can serve as a child tag to another instance of the tag 1204A. Inthis example, the tag 1202 can be considered to be at a first level of ahierarchy (e.g., as a parent tag), and the tags 1204A-C can beconsidered to be at a second level of the hierarchy (e.g., as childtags). In some implementations, more levels than two can be used in ahierarchy. In some implementations, the tag 102 (FIGS. 1A-B), the tag402 in FIG. 4, the tag 500 in FIG. 5, the tag 900 in FIG. 9, the tag1000 in FIG. 10, and/or the tag 1102 in FIG. 11 can correspond to thetag 1202 and/or one or more of the tags 1204A-C. For example, the tag102 in FIGS. 1A-B can represent the tag 1202 (e.g., a parent tag) andthe tag 1000 in FIG. 10 can represent one of the tags 1204A-C (e.g., achild tag).

As a practical example, and without limitation, each of the tags 1204A-Ccan be assigned to an item that a person carries in their purse to serveas a tracker for that item, and the tag 1202 can be defined tocorrespond to the purse itself, to facilitate organizing and performanceof actions based on whether the group of the tags 1204A-C represented bythe tag 102 is presently intact, or whether one or more of the tags1204A-C is deemed not to be within the group.

The system 1200 includes a processing device 1208 that can beimplemented using one or more examples described with reference to FIG.14. In some implementations, the processing device 1208 may beimplemented by one or more processors executing instructions stored inone or more instances of computer-readable storage medium. For example,a processor can execute instructions stored in a memory to instantiateand operate the processing device 1208. Communication between the tag1202 and the processing device 1208 can occur by way of at least onewireless signal 1210. In some implementations, one or more of the tags1204A-C can communicate directly with the processing device 1208.

The processing device 1208 can be implemented as a single physicalcomponent, or can be distributed over multiple physical components. Insome implementations, the processing device 1208 may include a mobileelectronic device (e.g., a smartphone, tablet, watch, wearable device,and/or laptop). In some implementations, the processing device 1208 mayinclude a dedicated stand-alone device (e.g., a hub in the system 1200).

The processing device 1208 can communicate directly and/or via a networkwith one or more other components within the system 1200, outside thesystem 1200, or both. In some implementations, the processing device1208 may participate in group management (e.g., of the tag 1202 and/orthe tags 1204A-C), notification management (e.g., to a user by way ofthe tag 1202 and/or tags 1204A-C, or another user interface, such as thedisplay device 1438 in FIG. 14), software updates (e.g., of the tag 1202and/or the tags 1204A-C), power management (e.g., of the tag 1202 and/orthe tags 1204A-C), and/or artificial intelligence (e.g., to control thetag 1202 and/or the tags 1204A-C, and/or to control responses toscenarios involving it or them).

The system 1200 can include or make use of one or more remote processingdevices, here referred to as clouds 1212. The cloud 1212 can beimplemented using one or more examples described with reference to FIG.14. Communication between the processing device 1208 and the cloud 1212may occur by way of at least one signal 1214. The signal 1214 can be awireless signal and/or a wired signal and here schematically illustratesa data network connection between devices. The signal 1214 can be sentthrough one or more networks, including, but not limited to, a localnetwork and/or the internet. In some implementations, the processingdevice 1208 or components thereof can be implemented at least in part bythe cloud 1212. In some implementations, the tag 1202 and/or at leastone of the tags 1204A-C can communicate directly with the cloud 1212.

Activity can be monitored and managed in the system 1200. Activity caninclude, but is not limited to, one or more aspects of presence,proximity, movement, or concentration, and/or the duration of any suchpresence, proximity, movement, or concentration. Activity monitoring andmanagement in the system 1200 can occur by way of the processing device1208 and/or the cloud 1212. Here, an activity management module 1216 isshown as part of the processing device 1208 for purpose of illustrationonly. The activity management module 1216 can accumulate data 1218 tofacilitate and/or in performing such activity management. For example,the data 1218 is stored in a computer-readable medium. For example, datacan be stored as state variables on a processing device.

The system 1200 can be configured according to one or more levels. Insome implementations, the processing device 1208 and at least the tag1202 can be considered an item level in the system 1200. For example,the item level can facilitate system awareness of at least the presence,proximity and movement of the physical item(s) associated with thetag(s) 1202. In some implementations, a group level in the system 1200can include the item level just mentioned and one or more of the tags1204A-C. For example, the group level can facilitate that the tag 1202serves as the parent of the tag(s) 1204A-C and monitors the at least thepresence, proximity and movement of the physical item(s) associated withthe tag(s) 1204A-C. In some implementations, a home level in the system1200 can include the group level just mentioned and one or moreconnected components, including, but not limited to a hub in the system1200, a router, a digital assistant, and/or a smart lightbulb. Forexample, the home level can provide and manage awareness about thepresence, proximity and movement of the physical item(s) associated withthe tag(s) 1202 and/or the tag(s) 1204A-C in a broader spatialenvironment, such as in a home, office or other location. In someimplementations, a system intelligence level in the system 1200 caninclude the home level just mentioned and one or more cloud services.For example, the cloud service(s) can provide contextual notificationbased on the presence, proximity or movement recognized within the homelevel. As another example, the cloud service(s) can provide predictiveability based on data recognized in the system 1200 and/or trackedbehavior relating to the system 1200 and/or the physical objectsassociated with the tags 1202 and/or 1204A-C.

Contextualization in the system 1200 can occur by way of the processingdevice 1208 and/or the cloud 1212. Here, a contextual engine 1220 isshown as part of the processing device 1208 for purpose of illustrationonly. The contextual engine 1220 can harvest data from one or moresources (e.g., based on detecting the behavior of a nearby device) anduse it for contextualization, prediction, and/or to adapt its behavior.Harvested data can include external data, such as calendar informationfor event data, weather data for weather conditions, or crowd-baseddata, to name just a few examples. Data can be harvested in one or moreways. In some implementations, each device maintains a state table withvarious state information about the system. For example, as each devicedetermines a change in the information, the device may update the datain the local state variable and then send the new data to the otherdevices in the system so that each device maintains a current view ofthe system.

In some implementations, contextualization can include collection ofstandardized data from one or more entities in the system 1200 (e.g.,ultimately from the tag 1202 and/or the tags 1204A-C), collection ofdisparate device data (e.g., data that is unexpected or otherwise doesnot conform to a data standard), and/or performance of system dictatedactions (e.g., issuing a notification, modifying a behavior,redistributing one or more system resources). Contextualization can berelated to or facilitated by the invocation of one or more rules 1222 inthe system 1200. Solely as illustrative examples, the rule(s) 1222 candefine, with regard to the tag 1202 and/or the tag(s) 1204A-C, one ormore locations where presence is permitted, required, or is notpermitted; one or more objects or persons with which a certain proximityis permitted, required, or is not permitted, one or more characteristicsof movement that is permitted, required, or is not permitted; and/or oneor more concentrations that is permitted, required, or is not permitted.The rule(s) 1222 can specify actions performable by the system 1200under specific circumstances (e.g., to generate a notification or toenergize or de-energize a component). For example, the rules 1222 arestored in a computer-readable medium.

Contextualization can be based on one or more aspects of environmentalunderstanding. In some implementations, an environmental understandingcan include information or input that can be processed (e.g., weatherconditions, time-based information, information extracted from acalendar, location, presence and/or activity). For example, notificationthat one of the tags 1204A-C is not currently present in the grouprepresented by the tag 1202 can be conditioned on some aspect of theweather information (e.g., whether precipitation is forecast).

Some examples herein describe that a tag (e.g., a parent tag or childtag) independently is in charge of deciding when to beacon, such asrandomly or at regular intervals, as a way to allow a system to detectand organize that tag. In other implementations, a tag beacons inresponse to detecting that another device (e.g., a tag, processingdevice, and/or IoT device) is nearby according to a proximity metric.This can allow the tag to improve its power management, in thattransmissions are not made unless they are likely to be detected. Thetag can be configured to allow one or more specific devices (e.g., aspecific tag, processing device, or IoT device), or types of device(e.g., any tag, processing device, or IoT device), to wake up the tag.When the processor of the tag is suspended (e.g., in a sleep mode orother low-power mode), the wireless interface of the tag (e.g., a radio)can remain powered so as to detect a wireless wake-up signal. The tagcan have a programming that causes it to beacon (e.g., randomly orregularly) when it is awake.

FIG. 13 shows an example of an organization module 1300 and a rulesrepository 1302. The organization module 1300 and the rules repository1302 can be used with one or more other examples described elsewhereherein. The organization module 1300 and the rules repository 1302 canbe implemented using one or more examples described with reference toFIG. 14. For example, the organization module 1300 can be implemented byway of at least one processor executing instructions stored in acomputer-readable medium. The rules in the rules repository 1302 canrelate to relationships including, but not limited to, permissions,groupings, and/or parent-child hierarchies.

The organization module 1300 can be implemented in a device such as thetag 200 (FIG. 2), the tags 1202 and/or 1204A-C (FIG. 12), or in theprocessing device 1208 (FIG. 12), to name just a few examples. Suchdevice(s) can receive wireless signals from one or more items beingmonitored. For example, the tag 1202 when serving as a parent tag canreceive the wireless signals 1206A-C from the tags 1204A-C,respectively, serving as child tags. As another example, the processingdevice 1208 can receive the wireless signal 1210 from the tag 1202.

The organization module 1300 can use the received signal(s) to gaininsight into at least the presence, proximity, or movement of thetransmitting device, or of a device related to the transmitting device.In some implementations, received signal strength indication (RSSI) canbe used as part of such a determination. The RSSI can indicate the powerpresent in the received signal (e.g., the wireless signals 106A-C or thewireless signal 110). In some implementations, relative RSSI can beused. Generally speaking, when the transmitting device is closer to thereceiving device, the RSSI tends to be greater because there is morepower in the received signal. In some implementations, a first tag candetermine, in its wireless module, an RSSI for a signal that the firsttag receives from a second tag. The first tag can receive from thesecond tag a “received RSSI” value reflecting an RSSI determined by thesecond tag. The first and second tags can store the determined RSSI andthe received RSSI value in state variables.

The organization module 1300 can detect “activity” of a tag, processingdevice, and/or a third-party IoT device, in any of several senses,including, but not limited to, that the device is present in a system,that the device is proximate to something (e.g., another device, a tag,an object, or a user), and/or that the device is moving, and theorganization module 1300 can take action if appropriate. Theorganization module 1300 can also or instead detect the “inactivity” ofa device and take action if appropriate. As such, the organizationmodule 1300 may not merely detect, or respond to, a device's action.

In some implementations, activity can be detected or determined in oneor more ways. For example, a tag can send a message when the tag senses(e.g., by an accelerometer) that it is moving. As another example, afirst tag can detect that a second tag is moving because the RSSI isdecreasing in a predictable manner. As another example, a first tag candetect that a second tag is moving because the RSSI is decreasing and athird tag reports increasing RSSI with the second tag.

In some implementations, time (e.g., duration) can be part of such adetermination of activity. In some implementations, a transmittingdevice may include a timestamp or other time identifier in thetransmitted message, and the receiving device can compare thetimestamp/identifier with its (internal) clock to determine an amount oftime that passed between the sending and the receipt of the wirelesssignal. For example, the clocks in the transmitting and receivingdevices can be synchronized to a master clock, or the receiving devicemay know how to translate the transmitting device's timestamp into itslocal time. Internal processing delays (at the transmitting or receivingend) can be accounted for. As another example, the time can be measuredfrom the moment of sending a request for a response until the responseis received. The time is a measure of the latency experienced incommunication between two devices (e.g., two tags, a parent tag and achild tag, and/or a tag and a processing device). A latency value can bedefined based on the time it takes for a signal to reach the receiver.The latency value, moreover, can be used to characterize the distancebetween the transmitting and receiving devices, which gives anindication as to the relative position of the devices. In someimplementations, time may be measured with round trip time (RTT) forestimating distance. For example: the sender sends a message, and basedon the time it takes to receive a response, the sender can infer thingsabout link quality and distance. RTT can be used to give informationabout packet loss, error rate, or number of hops (in the case of a meshsearch).

In some implementations, connectivity can be part of such adetermination. In some implementations, connectivity can representwhether a device (e.g., a parent tag) is able to communicate withanother device (e.g., a child tag). For example, a connectivityparameter can be a binary factor dependent on whether communication iscurrently established between two devices.

The organization module 1300 can use one or more of, or a combinationof, at least RSSI and connectivity to measure at least presence,proximity and movement of any tag. In some implementations, the RSSI canbe represented by a value RSSI and the connectivity parameter can bedenoted by C. The organization module 1300 can then operate based on ametric

A(RSSI,C),

where A indicates an activity of at least one tag and reflects a measureof the distance, proximity, or movement between, say, a child tag and aparent tag. A can be expressed as depending on the RSSI, latency value,and connectivity as follows:

A=a _(ƒ)ƒ(RSSI)+a _(g) g(C),

where ƒ is a function depending on at least the RSSI, g is functiondepending on at least the connectivity value C, and a_(ƒ) and a_(g) arecoefficients or other modifying factors (e.g., dynamically scalablefactors) for the functions ƒ and g, respectively.

The activity A can also or instead take into account one or more othercharacteristics. For example, latency can be taken into account (e.g.,denoted by L). For example, packet error rate can be taken into account(e.g., denoted by PER). For example, packet loss can be taken intoaccount (e.g., denoted by PL). For example, change in RSSI over time canbe taken into account (e.g., denoted by ΔRSSI). For example, change inconnectivity over time can be taken into account (e.g., denoted by ΔC).For example, change in latency over time can be taken into account(e.g., denoted by ΔL). For example, change in packet error rate overtime can be taken into account (e.g., denoted by ΔPER). For example,change in packet loss over time can be taken into account (e.g., denotedby ΔPL). In some implementations, the activity A can be based on one ormore of RSSI, C, L, PER, PL, ΔRSSI, ΔC, ΔL, ΔPER, or ΔPL.

As such, a metric for the distance between devices (e.g., two tags, aparent tag and a child tag, and/or a tag and a processing device) can bedefined based on at least one of the RSSI, the latency value, theconnectivity parameter, and/or changes in one or more of suchcharacteristics, for example as shown for A above. This can beconsidered an activity measure that the organization module 1300 can usein determining the presence, proximity, and movement of one or moretags. The activity measure takes into account at least one of RSSI, C,L, PER, PL, ΔRSSI, ΔC, ΔL, ΔPER, or ΔPL, and can optionally take intoaccount also one or more other parameters. The organization module 1300can include an activity component 1304 that can be responsible fordetermining and providing an activity measure (e.g., based on A above).In some implementations, the activity component 205 (FIG. 2) can includeone or more aspects of functionality described with reference to theactivity component 1304.

The organization module 1300 can include one or more components thatfacilitate use of an activity measure in determining, and reacting to,the activity of one or more tags. In some implementations, theorganization module 1300 includes a presence component 1306 coupled tothe activity component 1304. For example, the presence component 1306can make use of the activity measure of the activity component 1304 todetermine the presence of a tag (e.g., whether the tag 1204A (FIG. 12)serving as a child tag is present relative to the tag 1202 serving as aparent tag for the tag 1204A). As another example, a tag can be deemedpresent if it is detected by the system, whether the tag is proximate toanother tag (e.g., its parent tag) or not. The determination of whethera tag is present can depend on the rules in the rules repository 1302,and as such can be different for different physical objects. Forexample, a wallet labeled with a tag can be deemed present if it isdetected as being inside the dwelling of the person who owns the wallet;a wheelbarrow, on the other hand, can be deemed to be present if it isdetected by either the system monitoring the owner's house or thecorresponding system at the neighbor's house, in that the neighbor maybe permitted to borrow the wheelbarrow from the owner's yard.

In some implementations, the organization module 1300 includes aproximity component 1308 coupled to the activity component 1304. Forexample, the proximity component 1308 can make use of the activitymeasure of the activity component 1304 to determine the proximity of atag (e.g., how proximate the tag 1204A (FIG. 12) serving as a child tagis relative to the tag 1202 serving as a parent tag for the tag 1204A).

In some implementations, the organization module 1300 includes amovement component 1310 coupled to the activity component 1304. Forexample, the movement component 1310 can make use of the activitymeasure of the activity component 1304 to determine the movement of atag (e.g., how the tag 1204A (FIG. 12) serving as a child tag movesrelative to the tag 1202 serving as a parent tag for the tag 1204A).

In some implementations, the organization module 1300 includes a timecomponent 1312 coupled to the activity component 1304. For example, thetime component 1312 can make use of the activity measure of the activitycomponent 1304 to determine a duration relating to a tag (e.g., how longthe tag 1204A (FIG. 12) serving as a child tag is present, proximate,and/or moving relative to the tag 1202 serving as a parent tag for thetag 1204A). As another example, a time as in the time of day at aparticular location, can be a factor in applying a rule based oncontextualized information.

In some implementations, the organization module 1300 includes aconcentration component 1314 coupled to the activity component 1304. Forexample, the concentration component 1314 can make use of the activityof the activity component 1304 to determine a concentration of at leastone tag (e.g., some or all of the tags 1204A-C (FIG. 12) serving aschild tags relative to the tag 1202 serving as a parent tag for the tags1204A-C). For example, a concentration can be used to providemulti-factor authentication of a user. As another example, aconcentration can be used to generate a heat map of a location (e.g., toaid a determination of what type of environment it is).

The activity component 1304 can factor in a temporal component in thedetermination of an activity measure. In some implementations, one ofthe rules in the rules repository 1302 can define that an alert shouldbe generated if one of the tags 1204A-C (FIG. 12) is not present in thegroup represented by the tag 1202. However, if for example, the tag1204A had been detected as present within the group over an extendedperiod of time and was not detected as undergoing (significant) movementat the time its signal was lost, the activity component 1304 can apply agrace period (e.g., on the order of a few or multiple seconds) beforegenerating the alert. For example, this temporal component (e.g., agrace period) can account for the situation where the signal 1206A (FIG.12) from the tag 1204A was temporarily blocked and the absence of thesignal 1206A did not correspond to the tag 1204A being missing from thegroup represented by the tag 1202. Also, or instead, another componentin the organization module 1300 can apply the temporal component to acorresponding determination.

The organization module 1300 can take into account contextualizedinformation in determining the activity (e.g., presence, proximity,and/or movement) of any tag, in performing one or more actions inresponse thereto, or in deciding not to take action. In someimplementations, the contextual engine 1220 (FIG. 12) or a similarcomponent can serve to contextualize harvested information so that therules in the rules repository 1302 can be applied appropriately.

The tags (e.g., the tag 1202 and/or the tags 1204A-C in FIG. 12) can beproxies for other devices, users, and/or locations. The rules in therules repository 1302 can reflect such an organization. In someimplementations, a rule 1316 can reflect one or more of a device 1318, auser 1320, or a location 1322. Moreover, the rule 1316 can involve adevice-user relationship 1324, a user-location relationship 1326, and/ora device-location relationship 1328. As such, any of a number ofrelationships can be taken into account when applying the rule(s) in therules repository 1302, and can be reflected in the particular action (ora non-action) taken in response.

As such, the contextual engine 1220 in FIG. 12 is an example of acontextual engine implemented using a processor (e.g., the processingdevice 1402 in FIG. 14) executing instructions stored in a memory (e.g.,the memory 1404 in FIG. 14), the contextual engine configured toidentify an action relating to at least one tag of a plurality of tags(e.g., two or more of the tags 1202 and/or 1204A-C) based on an activitymeasure (e.g., determined by the activity component 1304) for thecorresponding tag.

The rules 1222 in FIG. 12 can be stored in a rules repository accessibleto a contextual engine (e.g., to the at least one processor of thecontextual engine 1220 in FIG. 12), the rules repository having storedtherein rules (e.g., the rule 1316) regarding respective actionsperformable by the activity component (e.g., by the at least oneprocessor of the organization module 1300), the rules depending on theactivity measure (e.g., determined by the activity component 1304) forthe at least one of the first plurality of tags, the action identifiedusing the rules.

A user interface can be provided on one or more devices. In someimplementations, a graphical user interface can be provided on aprocessing device (e.g., the processing device 108 in FIG. 1), and/or atag can provide for input and/or output (e.g., by way of the userinterface 214 in FIG. 2). The user interface can be based on, andreflect, one or more status of a tag (e.g., the tags 1202 and/or 1204A-Cin FIG. 12). In some implementations, a tag can have a status ofconnected, out of range, or marked as lost. For example, in theconnected state, the user interface can provide a control for the userto initiate a locate function for the item.

In the out of range state, the user interface can provide a control foridentifying the location where the system most recently detected thetag. As another example, the user interface can provide a control formarking the tag as lost.

In the marked as lost state, the user interface can provide a controlfor identifying the location where the system most recently detected thetag. As another example, the user interface can provide a control forlaunching a crowd-location function for the tag. As another example, theuser interface can provide a control for marking the tag as found.

The user interface can provide one or more other functionalitiesrelating to a tag (e.g., a parent tag or a child tag). Suchfunctionality can include, but is not limited to, adding a tag; definingor editing a group of tags; defining or editing a rule relating to oneor more tags; viewing and/or editing details of a tag or a group oftags; re-calibrating a tag with regard to a processing device or to atleast one other tag; replacing a tag; deleting a tag; alerting that atag battery needs recharging; alerting that a non-rechargeable batteryis running out of power; performing an update (e.g., of software orfirmware); prioritizing among tags; and combinations thereof.

FIG. 14 illustrates an example architecture of a computing device 1400that can be used to implement aspects of the present disclosure,including any of the systems, apparatuses, and/or techniques describedherein, or any other systems, apparatuses, and/or techniques that may beutilized in the various possible embodiments.

The computing device illustrated in FIG. 14 can be used to execute theoperating system, application programs, and/or software modules(including the software engines) described herein.

The computing device 1400 includes, in some embodiments, at least oneprocessing device 1402 (e.g., a processor), such as a central processingunit (CPU). A variety of processing devices are available from a varietyof manufacturers, for example, Intel or Advanced Micro Devices. In thisexample, the computing device 1400 also includes a system memory 1404,and a system bus 1406 that couples various system components includingthe system memory 1404 to the processing device 1402. The system bus1406 is one of any number of types of bus structures that can be used,including, but not limited to, a memory bus, or memory controller; aperipheral bus; and a local bus using any of a variety of busarchitectures.

Examples of computing devices that can be implemented using thecomputing device 1400 include a desktop computer, a laptop computer, atablet computer, a mobile computing device (such as a smart phone, atouchpad mobile digital device, or other mobile devices), or otherdevices configured to process digital instructions.

The system memory 1404 includes read only memory 1408 and random accessmemory 1410. A basic input/output system 1412 containing the basicroutines that act to transfer information within computing device 1400,such as during start up, can be stored in the read only memory 1408.

The computing device 1400 also includes a secondary storage device 1414in some embodiments, such as a hard disk drive, for storing digitaldata. The secondary storage device 1414 is connected to the system bus1406 by a secondary storage interface 1416. The secondary storage device1414 and its associated computer readable media provide nonvolatile andnon-transitory storage of computer readable instructions (includingapplication programs and program modules), data structures, and otherdata for the computing device 1400.

Although the exemplary environment described herein employs a hard diskdrive as a secondary storage device, other types of computer readablestorage media are used in other embodiments. Examples of these othertypes of computer readable storage media include magnetic cassettes,flash memory cards, digital video disks, Bernoulli cartridges, compactdisc read only memories, digital versatile disk read only memories,random access memories, or read only memories. Some embodiments includenon-transitory media. Additionally, such computer readable storage mediacan include local storage or cloud-based storage.

A number of program modules can be stored in secondary storage device1414 and/or system memory 1404, including an operating system 1418, oneor more application programs 1420, other program modules 1422 (such asthe software engines described herein), and program data 1424. Thecomputing device 1400 can utilize any suitable operating system, such asMicrosoft Windows™, Google Chrome™ OS, Apple OS, Unix, or Linux andvariants and any other operating system suitable for a computing device.Other examples can include Microsoft, Google, or Apple operatingsystems, or any other suitable operating system used in tablet computingdevices.

In some embodiments, a user provides inputs to the computing device 1400through one or more input devices 1426. Examples of input devices 1426include a keyboard 1428, mouse 1430, microphone 1432 (e.g., for voiceand/or other audio input), touch sensor 1434 (such as a touchpad ortouch sensitive display), and gesture sensor 1435 (e.g., for gesturalinput. In some implementations, the input device(s) 1426 providedetection based on presence, proximity, and/or motion. In someimplementations, a user may walk into their home, and this may triggeran input into a processing device. For example, the input device(s) 1426may then facilitate an automated experience for the user. Otherembodiments include other input devices 1426. The input devices can beconnected to the processing device 1402 through an input/outputinterface 1436 that is coupled to the system bus 1406. These inputdevices 1426 can be connected by any number of input/output interfaces,such as a parallel port, serial port, game port, or a universal serialbus. Wireless communication between input devices 1426 and theinput/output interface 1436 is possible as well, and includes infrared,BLUETOOTH® wireless technology, 802.11a/b/g/n, cellular, ultra-wideband(UWB), ZigBee, or other radio frequency communication systems in somepossible embodiments, to name just a few examples.

In this example embodiment, a display device 1438, such as a monitor,liquid crystal display device, projector, or touch sensitive displaydevice, is also connected to the system bus 1406 via an interface, suchas a video adapter 1440. In addition to the display device 1438, thecomputing device 1400 can include various other peripheral devices (notshown), such as speakers or a printer.

The computing device 1400 can be connected to one or more networksthrough a network interface 1442. The network interface 1442 can providefor wired and/or wireless communication. In some implementations, thenetwork interface 1442 can include one or more antennas for transmittingand/or receiving wireless signals. When used in a local area networkingenvironment or a wide area networking environment (such as theInternet), the network interface 1442 can include an Ethernet interface.Other possible embodiments use other communication devices. For example,some embodiments of the computing device 1400 include a modem forcommunicating across the network.

The computing device 1400 can include at least some form of computerreadable media. Computer readable media includes any available mediathat can be accessed by the computing device 1400. By way of example,computer readable media include computer readable storage media andcomputer readable communication media.

Computer readable storage media includes volatile and nonvolatile,removable and non-removable media implemented in any device configuredto store information such as computer readable instructions, datastructures, program modules or other data. Computer readable storagemedia includes, but is not limited to, random access memory, read onlymemory, electrically erasable programmable read only memory, flashmemory or other memory technology, compact disc read only memory,digital versatile disks or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store the desired informationand that can be accessed by the computing device 1400.

Computer readable communication media typically embodies computerreadable instructions, data structures, program modules or other data ina modulated data signal such as a carrier wave or other transportmechanism and includes any information delivery media. The term“modulated data signal” refers to a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, computer readable communication mediaincludes wired media such as a wired network or direct-wired connection,and wireless media such as acoustic, radio frequency, infrared, andother wireless media. Combinations of any of the above are also includedwithin the scope of computer readable media.

The computing device illustrated in FIG. 14 is also an example ofprogrammable electronics, which may include one or more such computingdevices, and when multiple computing devices are included, suchcomputing devices can be coupled together with a suitable datacommunication network so as to collectively perform the variousfunctions, methods, or operations disclosed herein.

A number of embodiments have been described. Nevertheless, it will beunderstood that various modifications may be made without departing fromthe spirit and scope of the invention.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems.

While certain features of the described implementations have beenillustrated as described herein, many modifications, substitutions,changes and equivalents will now occur to those skilled in the art. Itis, therefore, to be understood that appended claims are intended tocover all such modifications and changes as fall within the scope of theimplementations. It should be understood that they have been presentedby way of example only, not limitation, and various changes in form anddetails may be made. Any portion of the apparatus and/or methodsdescribed herein may be combined in any combination, except mutuallyexclusive combinations. The implementations described herein can includevarious combinations and/or sub-combinations of the functions,components and/or features of the different implementations described.

What is claimed is:
 1. A tag comprising: a housing configured forcoupling the tag to a physical object to organize activities regardingthe physical object; and coupled to the housing: a wirelesscommunication component; circuitry electrically coupled to the wirelesscommunication component, the circuitry having a reset port and a switchport; a power source electrically coupled to the wireless communicationcomponent and the circuitry; a first switch between the power source andthe reset port; a second switch between the reset port and ground, thesecond switch controlled by the switch port; and a capacitor between thereset port and the ground.
 2. The tag of claim 1, further comprising abutton on an outside of the housing, the button coupled to the firstswitch.
 3. The tag of claim 1, further comprising a sensor coupled tothe circuitry, the circuitry configured to adapt a behavior of the tagbased on an output of the sensor.
 4. The tag of claim 3, wherein theoutput of the sensor indicates at least one of: moisture, humidity,temperature, pressure, altitude, acoustics, wind speed, strain, shear,magnetic field strength and/or orientation, electric field strengthand/or orientation, electromagnetic radiation, particle radiation,compass point direction, or acceleration.
 5. The tag of claim 1, whereinthe circuitry is configured to repeatedly generate a discharge signal atthe switch port to discharge the capacitor and prevent voltage at thereset port from resetting the circuitry, until the circuitry receives adischarge inhibition signal using the wireless communication component.6. The tag of claim 1, wherein the power source includes a rechargeablepower source.
 7. The tag of claim 6, further comprising at least acharge pin electrically coupled to the rechargeable power source andterminating at an outside of the housing, and a data interface includingfirst and second data pins electrically coupled to the circuitry andterminating at the outside of the housing.
 8. The tag of claim 7,wherein the first data pin is configured for carrying to the circuitry avoltage applied to the charge pin, and wherein the second data pin isconfigured for communicating a charging status to the circuitry.
 9. Atag comprising: a housing configured for coupling the tag to a physicalobject to organize activities regarding the physical object; and coupledto the housing: a wireless communication component; circuitryelectrically coupled to the wireless communication component; arechargeable power source electrically coupled to the wirelesscommunication component and the circuitry; at least a first charge pinelectrically coupled to the rechargeable power source and terminating atan outside of the housing; and a data interface including first andsecond data pins electrically coupled to the circuitry and terminatingat the outside of the housing.
 10. The tag of claim 9, furthercomprising a second charge pin terminating at the outside of thehousing.
 11. The tag of claim 9, wherein the first data pin isconfigured for carrying to the circuitry a voltage applied to the chargepin.
 12. The tag of claim 9, wherein the second data pin is configuredfor communicating a charging status to the circuitry.
 13. The tag ofclaim 9, wherein the circuitry includes a reset port and a switch port,the tag further comprising a first switch between the power source andthe reset port, a second switch between the reset port and ground, thesecond switch controlled by the switch port, and a capacitor between thereset port and the ground.
 14. A system comprising: a tag configured forbeing coupled to a physical object to organize activities regarding thephysical object, the tag comprising: a first housing; and coupled to thefirst housing, a wireless communication component, a first memory, and afirst processor coupled to the wireless communication component andconfigured for adapting a behavior of the tag; and an accessorycomprising a second housing configured for being coupled to the firsthousing of the tag, the accessory comprising a second memory and asecond processor configured for interacting with the first processor ofthe tag.
 15. The system of claim 14, wherein the tag further includes apower source, a reset port and a switch port coupled to the firstprocessor, a first switch between the power source and the reset port, asecond switch between the reset port and ground, the second switchcontrolled by the switch port, and a capacitor between the reset portand the ground.
 16. The system of claim 14, wherein the accessoryfurther includes a sensor coupled to the second processor, the secondprocessor configured to adapt a behavior of the tag based on an outputof the sensor.
 17. The system of claim 16, wherein the output of thesensor indicates at least one of: moisture, humidity, temperature,pressure, altitude, acoustics, wind speed, strain, shear, magnetic fieldstrength and/or orientation, electric field strength and/or orientation,electromagnetic radiation, particle radiation, compass point direction,or acceleration.
 18. The system of claim 14, wherein the tag furthercomprises a rechargeable power source, a charge pin electrically coupledto the rechargeable power source and terminating at an outside of thefirst housing, and a data interface including first and second data pinselectrically coupled to the circuitry and terminating at the outside ofthe first housing.
 19. The system of claim 14, wherein the accessoryfurther comprises a first power source.
 20. The system of claim 19,wherein the first power source includes a solar panel mounted to thesecond housing.